package org.summerframework.component.upload;

import java.io.ByteArrayInputStream;
import java.io.InputStream;

/**
 * @author 石超
 * @version v1.0.0
 */
public interface FileUploadServerService {

    /**
     * 已文件形式上传
     * <p/>
     * 如果当前机器无法获取到该文件时,不可使用方法
     * 会出现FileNotFindException
     *
     * @param path 文件路径
     * @return
     */
    String uploadFile(String path);

    String uploadFile(byte[] bytes, String fileName);

    String uploadFile(InputStream is, String fileName);

    byte[] getFileBytes(String path);

    default InputStream getInputStream(String path) throws Exception {
        return new ByteArrayInputStream(getFileBytes(path));
    }

    /**
     * 删除文件
     *
     * @param path 文件路径
     */
    void deleteFile(String path);

    default String getUrl(String url) {
        return url;
    }
}
